<template>
    <el-select
        placeholder="请选择数据类型"
        clearable
        :model-value="modelValue"
        @update:model-value="(value) => emit('update:modelValue', value)">
        <el-option
            :key="index"
            v-for="(option, index) in options"
            :value="option.code"
            :label="option.value"
            >{{ option.value }}
        </el-option>
    </el-select>
</template>

<script setup lang="ts">
import { apiList } from '@/api/apiList'
import { IResSelect } from '@/types/response'
import { onMounted, ref } from 'vue'

const props = defineProps({
    modelValue: {
        type: String,
        default: '',
    },
})

const emit = defineEmits({
    'update:modelValue': String,
})

// [
//     {
//         value: 'tif',
//         label: 'tif',
//     },
//     {
//         value: 'zip',
//         label: 'zip',
//     },
//     {
//         value: 'document',
//         label: 'document',
//     },
//     {
//         value: 'video',
//         label: 'video',
//     },
//     {
//         value: 'image',
//         label: 'image',
//     },
//     {
//         value: 'audio',
//         label: 'audio',
//     },
//     {
//         value: 'obj',
//         label: 'obj',
//     },
//     {
//         value: 'db',
//         label: 'db',
//     },
// ]

const options = ref<Awaited<IResSelect>>([])

defineExpose({
  options
})

onMounted(async () => {
    // TODO: 获取字典表

    try {
        const res = await apiList.getSysCode({ code: 'data_type' })

        console.log('res======>', res)

        options.value = res || []
    } catch (error) {
        console.warn('请求异常')
    }
})
</script>
